home *** CD-ROM | disk | FTP | other *** search
- M2POSIX-10: 01-Jan-94
- o 'lib' ist nicht mehr von 'DosSystem' und 'OSCALLS' abhängig.
- o 'timeT' ist jetzt nach außen hin vom Typ UNSIGNEDLONG, damit es ohne
- Probleme als Funktionsresultat geliefert werden kann.
- o 'SsizeMax' und 'ClkTck' wurden von 'sys' nach 'types' transportiert.
- o "term.tcgetpgrp()": Wenn das Terminal zu keiner Prozessgruppe gehört,
- wird ein Fehler gemeldet.
- o "file.open()": Ist jetzt weitgehend nach dem MiNTLib-open gestaltet,
- wodurch unter MiNT mehr Aufgaben von MiNT direkt übernommen werden.
- Unter MiNT wird nun tatsächlich die kleinste freie Kennung verwendet,
- nicht die kleinste, die größer als fünf ist.
- Ausserdem wurde noch ein Fehler der alten Implementierung entfernt,
- und übersichtlicher ist es auch geworden...
- o 'DosSupport': Die Auswertung von UNIXMODE im Modulrumpf hatte noch
- Fehler.
- o "file.fcntl()": Unter TOS funktionierte fDUPFD nicht, und bei fSETLK
- fehlte ein RETURN.
- o Unterstützung für HM2_OLD (Versionen < 5.1) eingestellt.
- o 'jump': Bei TDI wird auch Register A5 gerettet.
- o "term.isatty()": INTEGER statt BOOLEAN als Funktionswert.
- o PORTAB.M2H: Neues Konfigurationsmakro __REG_VARS__, um Registervariablen
- zentral (de)aktivieren zu können.
- o Für jede Datei wird (unter TOS) in 'DosSupport' ein Pseudo-
- Dateibeschreibungsblock geführt, der vor allem die beim 'open'
- angegebenen Attribute enthält. Dadurch können unter TOS mit "fcntl()""
- Flags abgefragt und gesetzt werden, außerdem wird das O_APPEND-Flag
- von "write()" und das FD_CLOEXEC-Flag von "spawn*/exec*()" unterstützt.
- o 'tfile': Tests für O_APPEND und "fcntl()".
- o 'jump': Die bis jetzt nicht implementierten Prozeduren "sig*()" mit
- Prozedurrahmen, da sonst bei einem irrtümlichen Aufruf kein Rück-
- sprung erfolgt. Außerdem konnte es beim optimierten Linken von 'TLib'
- mit HM2 zum Absturz beim Aufruf des Programms kommen.
-
- M2POSIX-09: 07-Nov-93
- o "dir.getcwd()": Unter TOS wird intern immer ein Puffer von mindestens
- PATHMAX Zeichen bereitgestellt, da 'Dgetpath' keine Maximallänge
- beachtet.
- o "DosSupport.UnixToDos()": Die Umsetzung von Pfadnamen der Form /dev/xxx
- funktionierte nicht. Außerdem wurde zu ``früh'' gemeldet, daß der Platz im
- Dos-Pfad nicht ausreicht. Durch eine interne Umstellung wird der *IX-Pfad
- nicht mehr verändert, sodaß er jetzt ein VAR-Parameter ist, und weniger
- Stack ``verbraucht'' wird. Der Puffer für die Ermittlung des aktuellen
- Verzeichnisses wird nur noch angelegt, wenn nötig -- das spart auch Stack.
- Die Umwandlung von '/' in '\' wird jetzt früher vorgenommen, sodaß z.B.
- neben /pipe/ auch \pipe\ umgesetzt wird.
- o Das Makro __MINT__ wird nicht mehr beachtet; wenn MiNT vorhanden ist,
- werden immer dessen Systemaufrufe benutzt. Dadurch wird die Funktionalität
- nicht eingeschränkt, aber der Quellcode wird übersichtlicher.
- o 'file': "utime()": Wenn für 'modtime' Null übergeben wird, wird dies
- unter MiNT auch als NULL-Pointer an das Dateisystem weitergereicht, damit
- es selbst die aktuellen Zeiten einsetzen kann. Bei Verzeichnissen wird
- kein Fehler mehr gemeldet, es wird einfach nix getan.
- "dup()", "dup2()": Das 'FdCloExec'-Flag der neuen Dateikennung wird
- gelöscht; die Dateien bleiben also bei einem Unterprozeßstart geöffnet.
- Bei "dup()" ist unter MiNT die kleinstmögliche neue Kennung nicht mehr 6
- sondern 0.
-
- M2POSIX-08: 10-Okt-93
- o In den Definitionsmodulen wird genauer auf das Verhalten der Funktionen
- unter TOS und unter MiNT eingegangen.
- o Die ``C''-Stringfunktionen aus 'pSTRING' herausgenommen und in das neue
- Modul 'cstr' transportiert.
- o "strerror()" von 'lib' nach 'cstr' transportiert, da "strerror()" zwar
- keinen ``C''-String liefert, aber trotzdem zu den "str*()"-Funktionen
- gehört.
- o Modul 'CTYPE' in 'ctype' umbenannt.
- o 'cstr': Neue Funktionen: "strncat()", "strcmp()", "strncmp()", "strchr()",
- "strrchr()" und "strstr()".
- o Laengenangaben in 'cstr' und 'MEMBLK' nicht mehr als CARDINAL oder
- UNSIGNEDLONG, sondern als 'sizeT'.
- o "DosSystem.FPU()": Neue Funktion + zugehoerige Typen.
- o Neues Modul 'jump', in das "lib.set/longjmp()" und "sig.sigset/longjmp()"
- transportiert wurden. Außerdem wird "set/longjmp()" jetzt nicht mehr von
- ANSIC, sondern von POSIX1 reexportiert.
- o 'DosFile' in 'DosSupport' umbenannt. In Zukunft gehen alle M2POSIX-
- spezifischen Hilfsfunktionen, nicht beschränkt auf Dateifunktionen, in
- dieses Modul, damit 'DosSystem' allgemein verwendbar bleibt.
- o 'MEMBLK': "memalloc()", "memdealloc()": Neue Funktionen für Speicherre-
- servierung auf dem Stack.
- o "dir.readdir()": Unter TOS werden die Dateinamen in Kleinbuchstaben
- umgewandelt.
- o 'ANSIC': Die Prozedurvariablen für "main()" und "getenv()" wurden nicht
- initialisiert.
- o "DosSupport.UnixToDos()": Verarbeitung von "." und ".." im Wurzelver-
- zeichnis erweitert.
- o 'lib': Tests für "MEMBLK.mem[de]alloc()".
- o "OSCALLS.Supexec()": Die auszuführende Prozedur ist jetzt vom Typ PROC,
- da die Rückgabe eines Funktionswertes nur funktioniert, wenn dafür
- Register D0 verwendet wird (und der Stack unangetastet bleibt).
- o 'DosSystem': Im Hinblick auf Mag!X-Versionen 2.x wurden sämtliche
- 'Super'-Konstruktionen durch 'Supexec'-Aufrufe ersetzt (laut Handbuch
- sollen'Super'-Aufrufe nicht mehr benutzt werden).
- o 'proc': Testweise Implementierung von "vfork()". Testweise deswegen, weil
- ich nicht weiß, ob die Prozedur unter allen Bedingungen funktioniert --
- mit Megamax-Modula MM2 funktioniert sie jedenfalls unter keiner
- Bedingung... Vor Anwendung unbedingt den Kommentar im Definitionsmodul
- lesen!
- o Überall wo Pfadnamen als Ein- oder Ausgabeparameter vorkommen, wird jetzt
- für die Konvertierung nach bzw. aus dem Dos-Format der Platz dynamisch
- mit "memalloc()" auf dem Stack angelegt. Das bedeutet zum einen, daß
- nur noch soviel Stack ``verbraucht'' wird wie nötig, zum anderen aber,
- daß ``beliebig'' lange Pfadnamen verwendet werden können! Damit besteht
- bei den meisten Funktionen keine (interne) Beschränkung der Pfadlänge
- mehr! Da die Änderungen jedoch umfangreicher waren, als ich gedacht
- hatte und ich auch keine Lust hatte, nochmal alles zu testen, ist es
- wahrscheinlich, daß ein paar Bugs hinzugekommen sind.
-
- M2POSIX-07: 14-Aug-93
- o "DosSystem.GetCookie()": Neue Funktion.
- o 'pSTRING': Neue Funktionen "strcat()" und "strpbrk()".
- o "lib.longjmp()": Unter MiNT wird ein 'Psigreturn' ausgeführt.
- o "file.open()": Unterstützung von 'O_NOCTTY' unter MiNT.
- o Modul 'err' in 'e' umbenannt, da bei HM2 ein gleichnamiges Modul
- in der GEMplus-Bibliothek existiert.
- o 'DosFile': Neue Variable 'BINIO', die angibt, ob in der Environment-
- Variablen UNIXMODE die Option 'b' (binary) gesetzt ist.
- o "DosFile.DosToUnix()": Die Umsetzung von Pfadnamen ohne Laufwerks-
- angabe funktionierte nicht. In einem Fall wurde die Laenge des
- Ergebnispfades falsch berechnet. ROOTDIR wird jetzt ausgewertet, um
- die Startadressen der Pfade mehr *IX-like zu gestalten.
- o "file.utime()": Datum und Zeit waren vertauscht, wenn der übergebene
- Parameter statt der aktuellen Zeit benutzt werden sollte.
- Unter MiNT werden bei einem entsprechenden Dateisystem 'actime' und
- 'modtime' getrennt gesetzt (z.B. Minix-FS 0.60pl6).
- o "file.ftruncate()": Neue Funktion. Läuft nur mit entsprechendem
- Dateisystem (z.B. Minix-FS 0.60pl6).
- o "pSTRING.AssignM2ToC()": Schließt ähnlich wie "strncat()" den Ergebnis-
- string nur noch mit einem Nullbyte ab, wenn der Quellstring kürzer als
- die angegebene Maximalgröße ist.
- o "dir.readlink()": mehr POSIX-like: das Ergebnis wird nicht mehr mit
- einem Nullbyte abgeschlossen, stattdessen MUß jetzt das Funktions-
- ergebnis fuer die Laenge herangezogen werden.
- o "term.ttyname()": Neue Funktion.
- o "term.ctermid()": Neue Funktion.
- o "MEMBLK.memmove()": Ziel- und Quellparameter waren vertauscht.
- o In "DosFile.UnixToDos()" und "CompletePath()" wird jetzt wieder auf
- die Version von MiNT abgefragt und 'Dgetcwd' nur benutzt, falls
- mindestens MiNT 0.96 vorhanden ist, sonst wird 'Dgetpath' verwendet.
- dadurch kann M2POSIX jetzt auch wieder mit Versionen unter 0.96 benutzt
- werden, nur laufen dann eben manche Funktionen, wie z.B. "waitpid()"
- nicht. Aus diesem Grund entfaellt auch die Sicherheitsabfrage in
- 'DosSystem', die zum Programmabruch fuehrte. Ich empfehle aber trotzdem,
- nur die jeweils neueste MiNT-Version einzusetzen!
- o "DosFile.DosToUnix()": Es wird zusätzlich die Länge des DOS-Pfades
- geliefert. Somit kann leicht ermittelt werden, um wieviele Zeichen
- der *IX-Pfad länger oder kürzer als der DOS-Pfad ist.
- o "file.lstat()": Bei symbolischen Links wird jetzt im st.stSize-Feld
- die Länge des Pfades geliefert, wie sie nach Umwandlung durch
- "DosToUnix()" wäre, und durch "readlink()" geliefert wird (+ Nullbyte).
- o Die Definitionen fuer ``C''-Strings und die Konstante EOS fuer M2-
- Strings wurden von 'pSTRING' nach 'types'transportiert.
- o "MEMBLK.memchr()": Neue Funktion.
- o "MEMBLK.memcmp()": Neue Funktion.
- o 'tlib': Tests fuer "memchr()" und "memcmp()".
- o Die Funktion "fnmatch()" wurde von 'lib' in das neue Modul POSIX2
- verlegt. Damit ist zwar "fnmatch()" die einzige Funktion im Modul, aber
- vielleicht kommen ja irgendwann weitere hinzu.
- o 'cmdline': ARGV^[ARGC] wurde nicht immer auf NULL gesetzt.
-
- M2POSIX-06: 30-Jun-93
- o In 'pSTRING' weitere String-Parameter als REF-Parameter deklariert.
- Weitere Variablen als Registervariablen, Registervariablen auch in
- anderen Modulen häufiger.
- o 'ShowCMD': Die Basepage-Kommandozeile wird zusätzlich ausgegeben.
- o 'cmdline': Die ARGV-Erweiterung für leere Argumente wird unterstützt.
- Die Modulinitialisierung wurde in eine Prozedur gepackt, sodaß häufig
- benutzte Variablen als Registervariablen deklariert werden konnten.
- o "proc.exec*/spawn*()": Die ARGV-Erweiterung für leere Argumente wird
- unterstützt.
- o 'spawn' & 'forkexec': Es werden auch leere Argumente zum Testen
- verwendet.
- o 'dir': "readdir()"/DirentRec: Die Dateinamen sind nicht mehr in der
- Länge begrenzt, da nur noch ein Zeiger auf den eigentlichen Dateinamen
- geliefert wird, der bis zum nächsten "readdir()" auf das gleiche
- Verzeichnis gültig bleibt. Der Speicher für den Dateinamen wird beim
- "opendir()" angefordert und beim "closedir()" wieder freigegeben.
- o 'PORTAB': Neue Typen: (UN)SIGNED für die jeweils größten verfügbaren
- Ganzzahltypen, entsprechend ISO-CARDINAL/INTEGER, und jeweilige Maximal/
- Minimalwerte als Konstanten.
- o 'CTYPE': Alle Funktionen in Kleinbuchstaben (entsprechend ``C'').
- o "pSTRING.strcpy()": Neue Funktion.
- o 'POSIX' umbenannt in 'POSIX1'. Es werden nur noch Funktionen aufge-
- nommen, die erstens aus POSIX.1 stammen (damit fällt z.B. "fnmatch()"
- raus, da POSIX.2), und zweitens nicht gleichzeitig Ansi-C-Bibliotheks-
- funktionen sind. Gleichzeitig kommen die Ansi-C-Funktionen in ein neues
- Modul ANSIC, in das zusätzlich auch Ansi-C-Funktionen aufgenommen werden,
- die nicht gleichzeitig POSIX-Funktionen sind. Auf diese Weise wird eine
- gewisse Trennung zwischen ``System''- und ``Bibliotheks''-Funktionen
- erreicht, obwohl diese Unterscheidung von POSIX nicht getroffen wird.
- o OSCALLS.M2H: BIOS-Aufrufe integriert.
- o "file.fcntl()": F_SETLK wird auch ohne MiNT im begrenztem Maße unter-
- stützt, wenn durch eine entsprechende GEMDOS-Erweiterung der 'Flock'-
- Aufruf existiert.
- o Neues Modul 'pSTORAGE'. Das Modul stammt von Ulrich Kaisers GEM-
- Bibliothek ``crystal'' (leicht verändert).
- o "pSTRING.strncpy()": Neue Funktion.
- o "file.fcntl()": Die GEMDOS-Fehler 'eLOCKED' und 'eNSLOCK' werden auf
- 'EACCES' abgebildet.
- o 'DosSystem': Neue Funktionen "Machine()" und "CPU()". 'TDosSystem'
- gibt auch die Werte dieser beiden Funktionen aus.
- o "sys.uname()": Neue Funktion. 'tsys' gibt auch Informationen dieser
- Funktion aus.
- o 'term': Neues Modul für POSIX-Terminalfunktionen. Die meisten Funktionen
- sind (noch) nicht implementiert, das Modul legt hauptsächlich erstmal
- die neuen Bezeichner fest. Ob und wann Funktionen tatsächlich implemen-
- tiert werden, weiß ich nicht.
- o "isatty()" von 'file' nach 'term' transportiert.
- o 'sig': Neues Modul für POSIX-Signalfunktionen. Es gilt das gleiche wie
- bei 'term'.
- o 'POSIX1' und POSIX_ID.M2H um die neuen Bezeichner erweitert.
- o Der GNU-C-Präprozessor wird jetzt mitgeliefert.
-
- M2POSIX-05: 07-Jun-93
- o OSCALLS.M2H: Bessere Ausnutzung der von den Compilern gebotenen
- Features für Betriebssystemaufrufe.
- o 'MEMBLK': Neues Modul mit den von 'lib' ausgelagerten Funktionen
- "bcopy()","bswap()" und "bzero()" für die Bearbeitung von
- Speicherbereichen. Dadurch ist das Modul nicht mehr auf M2POSIX
- beschränkt.
- o 'MEMBLK': "bcopy()" und "bswap()" umbenannt in "memmove()" und "memswap()".
- "bzero()" durch universelleres "memset()" ersetzt.
- o 'PORTAB.M2H': Makro für Registervariable definiert. In einigen Modulen
- (z.B. 'pSTRING') Indexvariablen als Registervariablen deklariert.
- o !!! ACHTUNG: !!! ES WIRD JETZT NICHT MEHR AUF UNTERSCHIEDLICHE MiNT-
- VERSIONEN IM PROGRAMMTEXT ABGEFRAGT, SONDERN NUR NOCH, OB MiNT VORHANDEN
- IST ODER NICHT. DA IM FALLE DES VORHANDENSEINS VON MiNT AUCH NEUERE
- MiNT-AUFRUFE BENUTZT WERDEN (Z.B. PWAITPID UND DGETCWD), MUSS, FALLS
- MiNT ÜBERHAUPT EINGESETZT WIRD, MINDESTENS VERSION 0.96 BENUTZT WERDEN!!
- MIT VERSION 0.95 (ODER KLEINER) LÄUFTS NICHT MEHR!!
- o "file.fcntl()": Neue Funktion.
- o 'tlib': Neues Modul zum Testen von Funktionen aus 'lib' und 'MEMBLK'.
- o "file.open()": In der Beschreibung der Funktion im Definitionsmodul wird
- auf den Unterschied zwischen Datei, Dateibeschreibungsblock und Datei-
- kennung eingegangen. Die einzelnen Konstanten Im Aufzählungstyp
- 'OpenMode' sind auf die Positionen der entsprechenden Flags im MiNT-Fopen
- angepaßt (wegen "fcntl()").
- o 'types': POSIX-Mindestwerte (PosixPathMax, usw.) als Konstanten definiert.
- Dokumentiert, daß NAMEMAX und PATHMAX bibliotheksinterne Größen sind -
- sie wurden deshalb auch aus dem Modul POSIX entfernt. Die tatsächlich vom
- Dateisystem unterstützten Größen können mit "sys.path/sysconf()" erfragt
- werden.
- o 'DosSystem': Bei der Modulinitialisierung wird geprüft, ob eine MiNT-
- Version kleiner als 0.96 benutzt wird; wenn ja, wird das Programm mit
- einer Fehlermeldung abgebrochen.
- o "file.open()": Unter MiNT wird eine geöffnete Datei nicht mehr auto-
- matisch bei Ausführung von "exec*()" geschlossen ('FdCloExec'-Flag
- wird gelöscht).
- o "proc.tfork()": Neue Funktion.
- o "proc.SetStacksize()": Neue Funktion.
- o 'tthread': Neues Modul zum Testen von "tfork()".
-
- M2POSIX-04: 13-Mai-93
- o Modul 'lib': Funktionen "bcopy()","bswap()","bzero()": Die Register
- wurden erst gerettet, NACHDEM sie bereits verändert waren...
- Zum Glück hatte das keine Auswirkungen auf die derzeit unterstützten
- Compiler.
- o Modul 'lib': Funktion "fnmatch()": Funktionswert INTEGER statt BOOLEAN,
- Konstante FNMNoMatch.
- o Neues Modul PORTAB. Ersetzt das alte M2TYPES. Das Modul stammt von
- Ulrich Kaisers GEM-Bibliothek ``crystal'' (leicht verändert).
- o Datei PORTAB.M2H: Die Abfrage auf die unterschiedlichen Compiler
- geschieht jetzt mit #if (defined ...) oder #ifdef anstatt mit #if ...,
- d.h. das entsprechende Makro ist nur für den jeweilig benutzten
- Compiler definiert, sonst nicht (Kompatibilität mit ``crystal'').
- Ebenso werden nun die Konfigurationsmakros und die Betriebssystemmakros
- als definiert oder undefiniert abgefragt.
- Die restlichen Makros sind wie bisher entweder mit 0 oder Nicht-Null (1)
- definiert (#if ...)
- o Neues Modul OSCALLS: Die Betriebssystemaufrufe sind jetzt ``richtige''
- M2-Prozeduren, keine Makros mehr. Das ist doch etwas robuster.
- o "proc.spawnvp()"/"execvp()": Der Parameter für den Programmnamen wurde
- verändert (Bei Compilern mit REF-Parametern). Das angegebene Programm
- wurde u.U. nicht gefunden.
- o "file.open()": Unterstützung von O_APPEND unter MiNT.
- o "file.open()": bei O_TRUNC wird jetzt versucht, die Dateiattribute einer
- vorhandenen Datei so weit wie möglich zu erhalten.
- o "file.creat()": Die Funktion wird jetzt über "open()" implementiert,
- wie im Definitionsmodul angegeben. Dadurch wird die neue Datei auch
- explizit mit 'O_WRONLY' geöffnet, und zumindest MiNT verhindert dann
- Lesezugriffe.
- o Modul 'tfile': Wegen obiger Änderung wurde die fälschliche Benutzung von
- "creat()" für eine Datei, von der auch gelesen wird, durch "open()"
- ersetzt.
- o Modul 'POSIX': weitere Konstanten und Typen aufgenommen, besonders die
- Fehlerkonstanten aus 'err'. Leider lassen sich Variablen nicht
- reexportieren, sodaß 'err.errno' und 'cmdline.environ' nicht aus
- 'POSIX' importiert werden können.
- o Modul 'DosSystem': "GetBasepage()" und PID, PPID sind entfallen, dafür
- gibt es die Variable BASEP und die Prozedur "DosPid()", die aus einer
- Adresse (auf eine Basepage) eine Prozeßkennung errechnet.
- o Aufgrund eines Compilerfehlers kam das Megamax-System nicht mit
- __LONG_WHOLE__ zurecht. Als Abhilfe wird jetzt in sämtlichen Modulen
- bei Feldindizierungen explizit mit 16-Bit-Ausdrücken gearbeitet.
-
- M2POSIX-03: 17-Apr-93
- o Datei PORTAB.M2H: Makros für Standardeinstellungen von Compileroptionen.
- Konfigurierbar (16/32-Bit, Stack/Registerrückgabe, MiNT-Berücksichtigung)
- o Modul 'proc': neue Funktion "setsid()". Funktion "setpgid()": mehr
- POSIX-Verhalten bei Argumenten <= 0.
- o Anpassung an Hänisch Compiler Version 5.x
- o Modul 'lib': neue Funktionen "setjmp()"/"longjmp()".
- o Neues Modul POSIX: Dieses Modul ist eine Zusammenfassung aller
- POSIX-Funktionen, sodaß der Import aus einem einzigen Modul ausreicht.
- Es wird dabei lediglich reexportiert, bzw. wo dies nicht möglich ist,
- die Prozeduren als Variablen definiert, sodaß kein zusätzlicher
- ``Wasserkopf'' entsteht.
- o Neue Datei POSIX_ID.M2H: Diese Datei kann als Eingabe für den
- Präprozessor benutzt werden, um die Original-POSIX-Bezeichner, die
- für die Anpassung an (alte) M2-Compiler geändert werden mußten,
- wiederherzustellen.
- o Modul 'dir': Funktionen "opendir()", "readdir()", "rewinddir()" und
- "closedir()": Seit MiNT 0.97 ist das von 'Dopendir' gelieferte Handle
- als opak zu behandeln, d.h. es darf nur als Handle wieder an andere
- Verzeichnis-Routinen übergeben, aber nicht dereferenziert werden, da
- der Speicher für das Verzeichnis im geschützten Bereich
- (bei ``Memory Protection'') liegt.
- Dieselbe Änderung in der MiNTLib von pl24 auf pl25 war mir entgangen.
- o Modul 'CTYPE': Funktion "TOCARD()" liefert jetzt bei einem Zeichen, das
- nicht zwischen '0' und '9', bzw 'A'/'a' und 'Z'/'z' liegt, einen Wert
- zurück, der größer als jeder mögliche gültige Wert ist, um Fehler-
- erkennung zu ermöglichen. "TOLOWER()" und "TOUPPER()" vereinfacht.
- "ISODIGIT()" rausgeschmissen.
- o Modul 'types' in 'types' und 'M2TYPES' aufgespalten. Dadurch können
- die Typen aus 'M2TYPES' auch in anderen Umgebungen als M2POSIX genutzt
- werden.
-
- M2POSIX-02: 17-Feb-93
- o Die optionale Exportliste rausgeschmissen
- o Anpassung an TDI.
- o Modul 'forkexec': "waitpid()" statt "wait()" benutzen
- o Modul 'lib': Das Retten der Register bei den Assemblerprozeduren
- wird je nach Compiler mit Makros geregelt.
- o Modul 'file': Funktion "utime()": statt 'actime' wird 'modtime'
- ausgewertet, da bei GEMDOS das Datum bei lesendem Zugriff nicht
- geändert wird.
- o Modul 'dir': "getcwd()" und "readlink()": Parameter mehr POSIX-like.
- o Modul 'DosFile': Funktion "DosToUnix()" liefert jetzt statt <done> die
- Länge des ungekürzten Dateinamens. Bei Bedarf kann dieser mit der
- max. Größe des Strings verglichen werden.
- o Modul 'lib': Funktion "bswap()" exportiert (erleichtert das Testen).
- o Modul 'pSTRING': Funktion "AssignM2ToC()" hat 'size'-Parameter.
- o Modul 'pSTRING': neue Funktion "APPENDCHR()".
- o an einigen Stellen ISO-Änderung: PACKEDSET statt SET bei Mengen, die
- für Bits stehen.
- o Modul 'types': Etwas gestrafft.
- o Datei PORTAB.M2H: geändert & erweitert
-
- M2POSIX-01: 25-Dez-92
- o M2POSIX erstmalig zur Verbreitung freigegeben
-
-